The present invention is related in general to methods of encoding video signals, and in particular, to a method of encoding high-definition video signals using overlapping panels.
As with all digital communication systems, in the case of television signals, compression and decompression techniques are important in reducing the amount of digital data that must be transmitted. The International Standards Organizationxe2x80x94Moving Picture Experts Group (ISOxe2x80x94MPEG) proposed an international standard for encoding and decoding digital video data. This standard has been described in ISO/IEC 13818-2 xe2x80x9cGeneric Coding of Moving Pictures and Associated Audio Information: Videoxe2x80x9d, and ATSC document A/54 xe2x80x9cGuide to the Use of the ATSC Digital Television Standardxe2x80x9d and defines a system commonly known as MPEG-2. MPEG-2 achieves data compression by encoding digital video data as a series of code words in a complex scheme resulting in a reduction in the average length of the code words compared to other methods. The MPEG-2 standard allows for encoding high-resolution video images, known as High Definition Television (HDTV).
A common technique known as prediction is typically used in video compression systems. To reduce the amount of data to be transmitted, some predictable or redundant property of a picture data is identified, and the property can be exploited to predict the data to be transmitted. Prediction is performed in combination with entropy coding, differential coding etc. MPEG uses a particularly powerful prediction scheme involving motion-compensated prediction from previous and/or subsequent frames. In motion-estimation, the encoder searches for a portion of a previous frame, which is similar to the part of the new frame to be transmitted. It then sends (as side information) a motion vector telling the decoder what portion of the previous frame it will use to predict the new frame. It also sends the prediction error so that the frame may be reconstituted with good quality. It should be noted, however, that an accurate estimation of object motion is not essentialxe2x80x94any part of the previous frame that is similar to the current frame would be helpful.
In some cases, certain information may be unpredictable from a previous frame. For example, in a start-up condition, or in the case of a change of scene, a non-differential frame must be encoded, thereby requiring more data than for predicted frames. In MPEG, these are called intra-coded or xe2x80x9cIxe2x80x9d pictures. Other situations where information may be unpredictable from a previous frame include newly uncovered information due to object motion across a background, or at the edges of a panned scene. MPEG achieves a reduction in transmitted data by sending a bi-directionally encoded picture, or xe2x80x9cBxe2x80x9d picture.
After analog video signals are digitized (or when a device such as a digital camera generates a video signal in a digital form), the digital data is organized into basic units of motion compensation. According to MPEG-2, pictures are made up of pixels. A block is an 8xc3x978 array of pixels. A macroblock is a 16xc3x9716 array of pixels or a 2xc3x972 array of luminance blocks (it also contains 2, 4 or 8 chrominance blocks) and is the finest level of granularity into which a frame can be divided for motion compensation. Each macroblock is a unit of motion compensation and adaptive quantization. A macroblock defines a predetermined spatial region in a picture, and contains luminance and chrominance information. MPEG provides for the arrangement of macroblocks into slices. A slice, which is of a medium level of granularity, is an integer number of consecutive macroblocks from a raster of macroblocks. Further levels of granularity include frame and Group of Pictures.
While MPEG compression encodes motion vectors on a macroblock basis, no technique is specified as to how to compute motion vectors. Thus, a variety of different motion estimation techniques can be implemented consistent with the MPEG standard.
The conceptually simplest way to compute motion vectors is to search a xe2x80x9creferencexe2x80x9d image to find the 16xc3x9716 area with the best match to the current macroblock. A common measure of the match is the sum of the absolute differences between corresponding pixels in the two blocksxe2x80x94the smaller the sum, the better. The search range is often the largest permitted by the hardware, and is usually centered at the same position as the current macroblock. This approach evaluates the match for every pixel displacement in that range. The search can then be refined by interpolation to half-integer resolution.
Another technique, for example, is to compute motion vectors from the frame-to-frame correlation of blocks of pixels in the luminance signal, resulting in a motion vector for the luminance component of the macroblock.
It has been discovered that overlapping panels by a single row improves the state of the art by reducing the encoder complexity. The row in the overlap may be subdivided into multiple slices. Furthermore, whether to use the encoding from the upper or lower panel could be decided by a heuristic approach disclosed herein. In one aspect, the row (in the overlap) can be split into multiple subdivisions, so that this decisionxe2x80x94of which encoding to usexe2x80x94can be made at a finer level of granularity.
Additionally, macroblocks in the overlap region are encoded twice. Considering the case of an overlap, the encoding of the upper panel would include an encoding of the row in the overlap. Likewise, the lower panel would include the encoding of the row in the overlap. After encoding, these encoded panels are typically synchronized, so that they both have the same reconstruction for the row in the overlap. Thus, in a preferred embodiment, the reconstructed picture is synchronized. This synchronization step is not necessary for B-pictures because they are not used to predict other pictures.
Advantageously, according to the disclosed method, the synchronization step can be bypassed, thereby further reducing the encoder complexity. While bypassing the synchronization step may introduce some error, it is discovered that for high quality coding, little difference exists between two reconstructions of the macroblocks in the overlap.